package com.naizhuai.network.apistore;

import android.support.annotation.CheckResult;

import com.naizhuai.Model.db.user.PersonUserBean;
import com.naizhuai.network.Config;
import com.naizhuai.network.entity.ResultResponse;
import com.naizhuai.ui.entity.ImageBean;
import com.naizhuai.ui.entity.ImgBean;
import com.naizhuai.ui.entity.User.AppMessage;
import com.naizhuai.ui.entity.User.AppMessageList;
import com.naizhuai.ui.entity.User.CateGoryMsg;
import com.naizhuai.ui.entity.User.Simulation;
import com.naizhuai.ui.entity.User.SimulationData;
import com.naizhuai.ui.entity.User.UserRank;
import com.naizhuai.ui.entity.UserUpdate;
import com.naizhuai.ui.entity.setting.ThankDetailsData;
import com.naizhuai.ui.user.UserLogin;

import java.util.List;

import retrofit2.http.GET;
import retrofit2.http.Query;
import rx.Observable;

/**
 * @author：lichenxi
 * @date 2018/2/26 14
 * email：525603977@qq.com
 * Fighting
 */
public interface UserManageDataApiStore {

    //发送短信接口
    Observable<String> sendSms(String phoneNumber, String type);

    //用户注册
    Observable<UserLogin> userRegister(String truename, String phone,
                                        String code, String password,String mail);

    //用户登陆
    Observable<UserLogin> userLogin(String phoneNumber,
                                    String password);

    //获取用户信息
    Observable<PersonUserBean> getuserinfo();

    //获取用户信息
    Observable<List<ThankDetailsData>> getThankCard();

    //获取用户信息
    Observable<PersonUserBean> searchUserInfo(String searchId);

    //用户上传图片
    Observable<ImgBean> uploadImg(String path);

    //用户上传多张图片
    Observable<List<ImgBean>> uploadImgs(List<String> filepaths);

    //用户更新信息
    Observable<UserUpdate> userUpdate(String truename, String thumb, String email);

    //修改密码
    Observable<String> resetpassword(String phone, String msgCode, String password, String rePassword);

    //个人评分榜
    Observable<UserRank> getPerson_Rank(String key,String dateValue);

    Observable<UserRank> getGroup_Rank(String key,String dateValue);

    //公司设置模拟效果页面获取数据
    Observable<SimulationData> getComPanySimalationData();

    //公司设置模拟效果设置数据
    Observable<String> setComPanySimalationData(String effectData);


    Observable<List<AppMessage>> getAppMessage();

    Observable<CateGoryMsg> getAppMessageList(String categoryId);
}
